|
Mobile networked devices become more and more pervasive. By
embedding such devices into everyday items, pervasive computing
systems will emerge in the near future. Current approaches for such
systems are based on the model of Smart Environments. In such
environments, a preinstalled hardware infrastructure enhances a
spatial area, e.g., a room or house, and enables it to coordinate
multiple mobile devices present in the environment to cooperatively
provide services to the users. However, such systems rely on the
presence of such an expensive infrastructure and do not work in
areas without it. This restricts the deployment of pervasive
computing systems severely. Therefore, in this work we propose
another model for pervasive computing systems, the so-called Smart
Peer Group model. A Smart Peer Group consists of a number of
interconnected mobile devices that discover each other dynamically
and form a spontaneous composition of devices. Coordination is
provided by the participating devices themselves and no external
infrastructure is needed. This results in a highly flexible system
that can be used at any time and anywhere. The development of such
systems is a non trivial task, due to the high level of dynamism,
the potentially high resource constraintness, and the unpredictable
nature of Smart Peer Groups. In this dissertation, we present the
Smart Peer Group model and analyze the specific characteristics of
this system class. In addition, we propose a number of concepts and
algorithms to develop Smart Peer Group-based Pervasive Computing
systems. A communication middleware for Smart Peer Groups is
presented, which offers means to cope with resource-poor specialized
devices and shields application developers from fluctuating network
connectivities. Furthermore, a service discovery system for such
systems is developed, which allows unused devices to temporarily
deactivate themselves in order to save energy without loosing the
ability to discover new services or to be discovered by others. The
presented concepts and algorithms are evaluated in different
scenarios using an analytical and an experimental evaluation.
|